Repositorios: init y clone
Teórico — Entiende qué es un repositorio y los dos comandos principales para crear uno.
01 ¿Qué es un repositorio?
Un repositorio (o repo) es la carpeta de tu proyecto junto con todo el
historial de cambios que Git almacena. Dentro del repositorio, Git crea una carpeta oculta llamada
.git donde guarda toda la información de versiones, ramas, configuración y más.
Hay dos formas principales de obtener un repositorio:
git init
- Crea un repositorio nuevo desde cero
- Ideal para proyectos que estás empezando
- Genera la carpeta
.giten tu directorio actual
git clone
- Copia un repositorio existente (remoto)
- Descarga todo el historial de commits
- Mantiene la conexión con el repositorio original
02 git init — Crear un repositorio nuevo
El comando git init transforma una carpeta normal en un repositorio de Git.
Lo que hace internamente es crear la carpeta oculta .git/ con toda la estructura
necesaria para empezar a rastrear cambios.
Flujo típico para iniciar un proyecto
mkdir mi-proyecto # Crear carpeta del proyecto
cd mi-proyecto # Entrar a la carpeta
git init # Inicializar el repositorio
Initialized empty Git repository in /home/usuario/mi-proyecto/.git/
git init, tu carpeta se ve igual por fuera, pero contiene una carpeta
oculta .git/. Puedes verificarlo con ls -la (Linux/Mac) o
dir /a (Windows).
03 git clone — Clonar un repositorio existente
El comando git clone crea una copia completa de un repositorio remoto
en tu computadora. Esto incluye todos los archivos, todo el historial de commits,
todas las ramas y la configuración del remoto.
Sintaxis básica
git clone https://github.com/usuario/repositorio.git
Esto crea una carpeta llamada repositorio/ con todo el contenido
y el historial del proyecto. También configura automáticamente el
remote llamado origin apuntando a la URL original.
https://github.com/...) que pide usuario/contraseña, o por
SSH (git@github.com:...) que usa llaves SSH.
Para empezar, HTTPS es más sencillo.
git clone URL mi-carpeta
04 ¿Cuándo usar cada uno?
| Situación | Comando |
|---|---|
| Empiezo un proyecto nuevo desde cero | git init |
| Quiero trabajar en un proyecto que ya existe en GitHub | git clone URL |
| Ya tengo una carpeta con archivos y quiero versionarla | git init (dentro de la carpeta) |
| Quiero contribuir a un proyecto open source | Fork en GitHub → git clone de tu fork |
Cuestionario de evaluación
Pon a prueba lo que aprendiste sobre repositorios, git init y
git clone.